﻿using PAP.Application.Core;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace PAP.Services
{
    public interface ICommandDispatcher
    {
        TResponse Execute<TCommand, TResponse>(TCommand request, bool asynchronously)
            where TCommand : ICommand, new()
            where TResponse : IResponse, new();

        void Execute<TCommand>(TCommand request, bool asynchronously) 
            where TCommand : ICommand, new();
    }
}
